<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <meta http-equiv="X-UA-Compatible" content="ie=edge" />
  <title>音乐播放器</title>
  <!-- 样式 -->
  <link rel="stylesheet" href="css/index.css">
</head>

<body>
  <div class="wrap" id="app">
    <!-- 播放器主体区域 -->
    <div class="play_wrap" id="player">
      <div class="search_bar">
        <img src="images/player_title.png" alt="" />
        <!-- 搜索歌曲 -->
        <input type="text" autocomplete="off" v-model="query" @keyup.enter="searchMusic" />
      </div>
      <div class="center_con">
        <!-- 搜索歌曲列表 -->
        <div class='song_wrapper'>
          <ul class="song_list">
            <li v-for="(item, index) in musiarr">
              <a href="javascript:;" @click="playmusici(item.id)"></a>
              <b>{{item.name}}</b>
              <span><i v-if="item.mvid!=0" @click="mvmusici(item.mvid)"></i></span>
            </li>
          </ul>
          <img src="images/line.png" class="switch_btn" alt="">
        </div>
        <!-- 歌曲信息容器 -->
        <div class="player_con" :class="{playing:isPlaying}">
          <img src="images/player_bar.png" class="play_bar" />
          <!-- 黑胶碟片 -->
          <img src="images/disc.png" class="disc autoRotate" />
          <img :src="musicImg" class="cover autoRotate" />
        </div>
        <!-- 评论容器 -->
        <div class="comment_wrapper">
          <h5 class='title'>热门留言</h5>
          <div class='comment_list'>
            <dl v-for="item in hottp">
              <dt><img :src="item.user.avatarUrl" alt=""></dt>
              <dd class="name">{{ item.nickname}}</dd>
              <dd class="detail">
                {{ item.content }}
              </dd>
            </dl>
          </div>
          <img src="images/line.png" class="right_line">
        </div>
      </div>
      <div class="audio_con">
        <audio @play="play" @pause="pause" ref='audio' :src="musicUrl" controls autoplay loop class="myaudio"></audio>
      </div>
      <div class="video_con" v-show="isShow" style="display: none;">
        <video :src="mvurl" controls="controls"></video>
        <div class="mask" @click="hide"></div>
      </div>
    </div>
  </div>
  <!-- 开发环境版本，包含了有帮助的命令行警告 -->
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  <!-- 官网提供的 axios 在线地址 -->
  <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
  <script>
    /*
   1:歌曲搜索接口
     请求地址:https://autumnfish.cn/search
     请求方法:get
     请求参数:keywords(查询关键字)
     响应内容:歌曲搜索结果
   2:歌曲url获取接口
     请求地址:https://autumnfish.cn/song/url
     请求方法:get
     请求参数:id(歌曲id)
     响应内容:歌曲url地址
   3.歌曲详情获取
     请求地址:https://autumnfish.cn/song/detail
     请求方法:get
     请求参数:ids(歌曲id)
     响应内容:歌曲详情(包括封面信息)
   4.热门评论获取
     请求地址:https://autumnfish.cn/comment/hot?type=0
     请求方法:get
     请求参数:id(歌曲id,地址中的type固定为0)
     响应内容:歌曲的热门评论
   5.mv地址获取
     请求地址:https://autumnfish.cn/mv/url
     请求方法:get
     请求参数:id(mvid,为0表示没有mv)
     响应内容:mv的地址
   */
    var app = new Vue({
      el: "#app",
      data: {
        // 查询关键词
        query: "",
        // 歌曲数目
        musiarr: [],
        isPlaying: false,
        isShow: false,
        musicUrl: "",
        musicImg: "",
        hottp: [],
        mvurl: ""
      },
      methods: {
        searchMusic: function () {
          var that = this;
          axios.get("https://autumnfish.cn/search?keywords=" + this.query + "").then(function (response) {
            that.musiarr = response.data.result.songs;
            // console.log(response.data.result)
            console.log(response)
          })
        },
        playmusici: function (musicId) {
          // console.log(musicId)
          var that = this;
          axios.get("https://autumnfish.cn/song/url?id=" + musicId + "").then(function (response) {
            that.musicUrl = response.data.data[0].url;
          });
          axios.get("https://autumnfish.cn/song/detail?ids=" + musicId + "").then(function (response) {
            // console.log(response.data.songs[0].al.picUrl)
            that.musicImg = response.data.songs[0].al.picUrl;
          });
          this.isPlaying = true;
          // 传值给热评
          this.hotppp(musicId);
        },
        mvmusici: function (musicId) {
          var that = this;
          axios.get("https://autumnfish.cn/mv/url?id=" + musicId + "").then(function (response) {
            that.mvurl = response.data.data.url;
          });
          this.isShow=true;
        },
        //开始
        play: function () {
          this.isPlaying = true;
        },
        //暂停
        pause: function () {
          this.isPlaying = false;
        },
        // 热评
        hotppp: function (musicId) {
          var that = this;
          axios.get("https://autumnfish.cn/comment/hot?type=0&&id=" + musicId + "").then(function (response) {
            // console.log(response.data.hotComments)
            that.hottp = response.data.hotComments;
          })
        },
        hide:function(){
          this.isShow=false;
        }
      }
    });
  </script>
</body>

</html>